config BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	bool
	default y if BR2_i386 || BR2_x86_64 || BR2_arm || BR2_aarch64 || \
		BR2_mips || BR2_mipsel

config BR2_PACKAGE_GOOGLE_BREAKPAD
	bool "google-breakpad"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
	depends on BR2_USE_WCHAR
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
	depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	select BR2_PACKAGE_LINUX_SYSCALL_SUPPORT
	help
	  Google-Breakpad is a library and tool suite that allows you
	  to distribute an application to users with compiler-provided
	  debugging information removed, record crashes in compact
	  "minidump" files, send them back to your server, and produce
	  C and C++ stack traces from these minidumps. Breakpad can
	  also write minidumps on request for programs that have not
	  crashed.

	  You may want to set BR2_ENABLE_DEBUG, in order to get useful
	  results.

	  This target package installs a static library named
	  libbreakpad_client.a which should be linked into programs
	  willing to use Google Breakpad. A host variant of this
	  package is also available, and provides the different tools
	  needed to extract the debugging symbols from target
	  binaries.

	  https://chromium.googlesource.com/breakpad/breakpad

comment "google-breakpad requires a glibc or uClibc toolchain w/ wchar, thread, C++, gcc >= 4.8"
	depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
		!BR2_TOOLCHAIN_HAS_THREADS || \
		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_HOST_GCC_AT_LEAST_4_8
